/***************************************************************************
 *   Copyright (C) 2011 by The rPem3d developers                           *
 *   elseifkk@users.sf.net                                                 *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#include "dclockbox.h"
#include <qdatetime.h>
//
DigitalClock::DigitalClock( QWidget *parent, const char *name )
  : QLCDNumber( parent, name )
{
  setLineWidth( 2 );               
  showTime();                      
  normalTimer = startTimer( 500 ); 
  showDateTimer = -1;              
  setFrameStyle(QFrame::NoFrame);
  setSegmentStyle(QLCDNumber::Filled);
  setNumDigits(8);
}
//
void DigitalClock::timerEvent( QTimerEvent *e )
{
  if ( e->timerId() == showDateTimer )
    stopDate();
  else {                              
    if ( showDateTimer == -1 )      
      showTime();
  }
}
//
void DigitalClock::mousePressEvent( QMouseEvent *e )
{
  if ( e->button() == QMouseEvent::LeftButton )
    showDate();
}
//
void DigitalClock::showDate()
{
  if ( showDateTimer != -1 )
    return;
  QDate date = QDate::currentDate();
  QString s;
  s.sprintf( "%2d %2d", date.month(), date.day() );
  display( s );
  showDateTimer = startTimer( 2000 );
}
//
void DigitalClock::stopDate()
{
  killTimer( showDateTimer );
  showDateTimer = -1;
  showTime();
}
//
void DigitalClock::showTime()
{
  QString s = QTime::currentTime().toString();
  display( s );
}
